package com.crr.service.impl;

import com.crr.entity.User;
import com.crr.mapper.UserMapper;
import com.crr.service.UserService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service("userService")
public class UserServiceImpl implements UserService {
   @Autowired
    private UserMapper userMapper;
    @Override
    public List<User> getAll() {
        return userMapper.getAll();
    }

    @Override
    public Page queryLikeUsers(Map<String, Object> cond) {
        Page page = new Page();
        // 根据条件查询符合的用户列表记录总数，赋值给page的totalNum变量
        page.setTotal(userMapper.getLikeUserCount(cond));
        // 从请求参数中获取每页大小
        int pageSize = Integer.parseInt(String.valueOf(cond.get("pageSize")));
        page.setPageSize(pageSize);
        // 从请求参数中获取当前页码
        int curPageNum = Integer.parseInt(String.valueOf(cond.get("pageNum")));
        page.setPageNum(curPageNum);
        //动态计算总页数(总记录数 除以 每页大小，加上  总页数 求余 每页大小，如果余数不为0，则 加 1，否则 加 0 )
        page.setPageNum((int)(page.getTotal()/pageSize+(page.getTotal()%pageSize==0?0:1)));
        //根据条件查询符合的用户列表记录，赋值给page的result变量
        page = PageHelper.startPage(curPageNum, pageSize);


        /*模糊查询到的用户信息集合*/
        List list=userMapper.getLikeUsers(cond);

        return page;
    }

    @Override
    public int addUser(User user) {
      return   userMapper.addUser(user);
    }

    @Override
    public int delUser(User user) {
        return userMapper.delUser(user);
    }

    @Override
    public int updUser(User user) {
        return userMapper.updUser(user);
    }

    @Override
    public User getUser(User user) {
        return userMapper.getUser(user);
    }

    @Override
    public User login(User user) {
        return userMapper.login(user);
    }

}
